/*******************************************************************************
 * Copyright (c) baifeiq.
 * 
 * @date            @author         @brief
 * 2021-07-12       baifeiq         First version: Define structure of task.
 * 2021-12-30       baifeiq         Reorganize the coding style.
 */

#ifndef	OS_TASK_H__
#define OS_TASK_H__

#include "os_define.h"

extern void ost_delay(unsigned int ms);
extern void ost_delay_wake(os_task_t *p);
extern void ost_suspension(os_task_t *p);
extern void ost_activation(os_task_t *p);
extern os_int32_t ost_task_init(os_task_t *task, void (*entry)(void *), void *param, 
                                os_uint8_t pro, os_uint32_t *stack_addr);

extern void os_sys_param_update(os_task_t *pl, os_task_t *pn, os_task_t *pc);
extern void os_systick(void);
extern void ost_sys_init(void);
extern void os_insert_ready(os_task_t *task);
extern void os_remove_ready(os_task_t *task);

#endif	//OS_TASK_H__

